1. Field of the Invention
The present invention is directed generally to a circuit for preventing bus contention, and, more particularly, to preventing bus contention problems in solid state stacked memories.
2. Description of the Background
In computer circuits, stacking is a process by which a number of relatively small devices are combined in a manner so that the small devices, collectively, emulate a larger device. Stacking can be either depth-expanded or width-expanded. In a simple example of stacking involving a random access memory (RAM), eight 1-bit RAMs, each having an input terminal, an output terminal, and an enable terminal, may be combined to emulate a single, 8-bit RAM. In such a case, the input terminals of each 1-bit RAM are tied together to form a common input terminal for the 8-bit RAM. Likewise, the output terminals of each 1-bit RAM are tied together to form a common output terminal for the 8-bit RAM.
For the collective device to function properly, only one individual 1-bit RAM can read or write from the shared terminals at any given time. That is typically accomplished by using logic circuits to decode address data and to provide an enable signal to only one 1-bit RAM at any given time.
Bus contention occurs when more than one device attempts to transmit information on the data bus at the same time. Bus contention can result when RAMs manufactured by different companies are stacked. That is because significant variations in timing parameters and tolerances exist between manufacturers.
The most visible result of bus contention is noise on power-supply lines and data lines connecting the devices. Another result of bus contention is loss of data during the period of contention. If one RAM is trying to drive the data bus high, while another RAM is trying to drive the data bus low, then the RAMs will be working against each other, data will be lost, and components in the circuit may be damaged from excessive current, known as "overcurrent". CMOS latch-up can result if the overcurrent is sufficiently high. If bipolar devices are used, damage can result because bipolar devices are not inherently self-current limiting. As a result, a feedback cycle can be initiated in which current through a bipolar transistor increases, the transistor heats up and its gain increases, causing further increases in current, heat, and gain. A phenomenon known as "thermal runaway" occurs when that feedback cycle results in current reaching a destructive level.
In the past, such bus contention could be avoided by insuring that all RAMs used in a stacking arrangement were manufactured by the same company, thereby ensuring nearly identical performance from all devices. Presently, however, bus contention is becoming a significant concern even when RAMs from the same manufacturer are used. That is because clock speeds are increasing to the point that even the manufacturing tolerances between RAMs from the same manufacturer are significant enough to cause bus contention in a stacked RAM array. In other words, the margin of error in modern computers has decreased to the point that the variations that occur between RAMs in the same manufacturing process are sufficient to cause bus contention. Thus, the need exists for a device to eliminate bus contention problems.